<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数的学习</title>
</head>
<body>
    <script>
        //函数的定义和使用
        //函数的定义：
        function add(a,b){
            return a+b;
        }
        console.log(typeof add);//function 
        //函数的调用：
        var result = add(1,2);
        console.log(result);// 3

        //函数可以赋值给变量，此时变量名就变成了函数名，可以用变量名直接调用函数
        var a = function add(a,b){
            return a+b;
        }
        console.log(typeof a);//function
        //函数的调用：
        var result = a(1,2);

        //发现如果将函数赋值给变量，那么变量名就变成了函数名，此时函数名就没用了
        //那么定义函数的时候就可以直接省略，类似匿名
        var result = function (a,b){
            return a+b; 
        }
        console.log(result(1,2));//3
        console.log(typeof result);//function
        

        //函数的参数：
        //1.形参：函数定义时的参数
        //2.实参：函数调用时的参数
        //3.参数的个数：
        //3.1.如果实参的个数大于形参的个数，那么多余的实参会被忽略
        var result = add(1,2,3);
        console.log(result);//3 计算的是1+2
        //3.2.如果实参的个数小于形参的个数，那么缺少的形参会被赋值为undefined
        var result = add(1);
        console.log(result);//NaN 计算的是1+undefined结果是NaN
    </script>
</body>
</html>